﻿#define _CRT_SECURE_NO_WARNINGS
//#include <stdio.h> 
//void paixu(int arr[], int sz)
//{
//	int i = 0;
//	for (i = 0; i < sz - 1; i++) 
//	{
//		int j = 0;
//		for (j = 0; j < sz - 1 - i; j++) 
//		{
//			if (arr[j] > arr[j + 1]) 
//			{
//				int tmp = arr[j];
//				arr[j] = arr[j + 1];
//				arr[j + 1] = tmp;
//			}
//
//		}
//
//	
//	}
//
//}
//int main() 
//{
//	int i = 0;
//	int arr[10] = { 1,2,3,4,536,365,5623,256,734,743 };
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	paixu(arr, sz);
//	for (i = 0; i < sz; i++)
//	{
//		printf("%d ", arr[i]);
//	}
//	return 0;
//
//
//
//}
//#include <stdio.h>
//#include <string.h>
//#include <windows.h>
//#include <stdlib.h>
//int main() {
//
//	char arr1[] = "!!!!!!!!!!!!!!祝福老奖和老乡去更热烈的时光相遇!!!!!!!!!!!!";
//	char arr2[] = "9999999999999999999999999999999999999999999999999999999999";
//	int left = 0;
//	int right = strlen(arr2) - 1;
//	while (left <= right) {
//
//		arr2[left] = arr1[left];
//		arr2[right] = arr1[right];
//		printf("%s", arr2);
//		Sleep(1000);
//		system("cls");
//		left++;
//		right--;
//	}
//	printf("%s", arr2);
//	return 0;
//}
//void paixu(int arr[], int sz)
//{
//	int i = 0;
//	int flag = 1;
//	for (i = 0; i < sz; i++)
//	{
//		int j = 0;
//		for (j = 0; j < sz - 1 - i; j++)
//		{
//			if (arr[j] > arr[j + 1]) 
//			{
//				int tmp = arr[j];
//				arr[j] = arr[j + 1];
//				arr[j + 1] = tmp;
//				flag = 0;
//			}
//			if (flag == 0)
//
//				break;
//		}
//	}
//}
//
//#include <stdio.h>
//
//int main() 
//{
//	int arr[10] = { 1,2,3,4,536,365,53,256,734,2346};
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	paixu(arr, sz);
//	for (int i = 0; i < sz; i++)
//	{
//		printf("%d  ", arr[i]);
//	}
//	return 0;
//}

//#include <stdio.h>
//#include <string.h>
//#include <windows.h>
//#include <stdlib.h>
//int main()
//{
//	char arr1[] = "!!!!!!!!!!dao shi niu bi !!!!" ;
//	char arr2[] = "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" ;
//	int left = 0;
//	int right = strlen(arr2) - 1;
//		while(left<=right)
//		{
//			printf("%s\n", arr2);
//			Sleep(1000);
//			arr2[right] = arr1[right];
//			arr2[left] = arr1[left];
//			//system("cls");
//			left++;
//			right--;
//		}
//		printf("%s", arr2);
//		return 0;
//
//}
//int Add(int x, int y)
//{
//	return x + y;
//}
//int Sum(int x, int y)
//{
//	return x - y;
//}
//int cheng(int x, int y)
//{
//	return x * y;
//}
//int chu(int x, int y)
//{
//	return x / y;
//}
//
//#include <stdio.h>
//int main()
//{
//	int x, y;
//	int input = 1;
//	int ret = 0;
	//do
	//{
	//	printf("**********************************\n");
	//	printf("   1.Add              2.Sum       \n");
	//	printf("   2.cheng            4.chu       \n");
	//	printf("**********************************\n");
	//	printf("请选择: ");
	//	scanf("%d", &input);
	//	switch(input)
//		{
//		case 1:
//			printf("请输入操作数\n");
//			scanf("%d %d", &x, &y);
//			ret = Add(x, y);
//			printf("ret = %d\n", ret);
//			break;
//		case 2:
//			printf("请输入操作数\n");
//			scanf("%d %d", &x, &y);
//			ret = Sum(x, y);
//			printf("%d\n", ret);
//			break;
//		case 3:
//			printf("请输入操作数\n");
//			scanf("%d %d", &x, &y);
//			ret = cheng(x, y);
//			printf("%d\n", ret);
//			break;
//		case 4:
//			printf("请输入操作数\n");
//			scanf("%d %d", &x, &y);
//			ret = chu(x, y);
//			printf("%d\n", ret);
//			break;
//		case 0:
//			printf("退出程序\n");
//			break;
//		default:
//			printf("请重新输入\n");
//		}
//	}
//	while (input);
//	return 0;
//}
//int Add(int x, int y)
//{
//	return x + y;
//}
//int Sum(int x, int y)
//{
//	return x - y;
//}
//int cheng(int x, int y)
//{
//	return x * y;
//}
//int chu(int x, int y)
//{
//	return x / y;
//}
//
//#include <stdio.h>
//int main()
//{
//	int x, y;
//	int input = 1;
//	int ret = 0;
//	int(*p[5]) (int x, int y) = { 0,Add,Sum,cheng,chu };
//	do
//	{
//		printf("**********************************\n");
//		printf("   1.Add              2.Sum       \n");
//		printf("   2.cheng            4.chu       \n");
//		printf("**********************************\n");
//		printf("请选择: ");
//		scanf("%d", &input);
//		if ((input <= 4 && input >= 1))
//		{
//			printf("请输入操作数\n");
//			scanf("%d %d", &x, &y);
//			ret = (*p[input])(x, y);
//			printf("ret = %d\n", ret);
//		}
//		else if (input == 0)
//		{
//			printf("退出程序\n");
//		}
//		else
//		{
//			printf("输入有误，请重新输入\n");
//		}
//	} while (input);
//	return 0;
//}
//#include <stdio.h>
//int main()
//{
//	int a, b;
//	double c;
//	float  d;
//	char e;
//	printf("input:");
//	scanf("%d %d %lf %c %f", &a, &b, &c,&e,&d);
//	printf("输出:%d %d %.9lf %c %.2f\n", a, b, c, e, d);
//	return 0;
//}
//#include <stdio.h>
//int main()
//{
//	float x = 5.8;
//	double y = 12.7;
//	printf("x=%.1f,y=%.1lf\n", x, y);
//	printf("s=%.1f,p=%.1f,a=%.1f", x + y, x * y, (x + y) / 2);
//}
//#include <stdio.h>
//#include <windows.h> 
//
//void printHeart(int size) {
//    if (size == 1) {
//        printf("   **     ** \n");
//        printf(" *    * *    *\n");
//        printf("*      *      *\n");
//        printf(" *           * \n");
//        printf("   *       *   \n");
//        printf("     *   *     \n");
//        printf("       *       \n");
//    }
//    else {
//        printf("    ****     ****    \n");
//        printf("  *      * *      *  \n");
//        printf(" *        *        * \n");
//        printf("*                   *\n");
//        printf(" *                 * \n");
//        printf("  *               *  \n");
//        printf("    *           *    \n");
//        printf("      *       *      \n");
//        printf("        *   *        \n");
//        printf("          *          \n");
//    }
//}
//
//int main() {
//    int beat = 0; // 用于控制爱心大小状态（0代表小，1代表大）
//
//    printf("手机端跳动爱心演示\n按Ctrl+C可结束程序\n\n");
//
//    while (1) {
//        for (int i = 0; i < 20; i++) {
//            printf("\n");
//        }
//
//        printf("❤️ 心跳次数: %d ❤️\n\n", beat / 2 + 1);
//
//        // 根据beat状态打印不同大小的爱心
//        printHeart(beat % 2);
//
//        printf("\n\n爱心正在跳动...\n");
//
//        beat++; // 切换状态
//        Sleep(500);
//    }
//
//    return 0;
//}
//#include <stdio.h>
//#include <math.h>
//#include <stdlib.h>  // 用于system清屏
//
//// 适配系统延迟函数：Windows用Sleep，Linux/macOS用usleep
//#ifdef _WIN32
//#include <windows.h>
//#define DELAY(ms) Sleep(ms)  // Windows延迟（毫秒）
//#else
//#include <unistd.h>
//#define DELAY(ms) usleep(ms*1000)  // Linux/macOS延迟（微秒转毫秒）
//#define cls "clear"  // Linux清屏命令
//#endif
//
//// 心形绘制核心函数（参数：缩放因子，控制心形大小）
//void draw_heart(float scale) {
//    // 控制台字符坐标系：y从上到下，x从左到右，需反转y轴
//    for (float y = 1.5f; y > -1.5f; y -= 0.1f) {
//        for (float x = -1.5f; x < 1.5f; x += 0.05f) {
//            // 笛卡尔心形公式（缩放后计算）
//            float nx = x / scale;
//            float ny = y / scale;
//            float formula = pow(nx * nx + ny * ny - 1, 3) - nx * nx * pow(ny, 3);
//
//            // 公式结果<0时绘制心形字符（♥或*，兼容不同终端）
//            if (formula < 0) {
//                printf("*");  // 若显示乱码，替换为 "*"
//            }
//            else {
//                printf(" ");  // 空白填充
//            }
//        }
//        printf("\n");  // 换行
//    }
//}

//int main() {
//    // 缩放因子：控制心形大小，模拟跳动（1.0→1.2→1.0循环）
//    float scale;
//    int beat_count = 0;  // 控制跳动次数（可自定义）
//
//    // 隐藏Windows控制台光标（可选，优化视觉效果）
//#ifdef _WIN32
//    HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
//    CONSOLE_CURSOR_INFO cursorInfo;
//    GetConsoleCursorInfo(hConsole, &cursorInfo);
//    cursorInfo.bVisible = FALSE;
//    SetConsoleCursorInfo(hConsole, &cursorInfo);
//#endif
//
//    // 循环实现跳动效果（按Ctrl+C退出）
//    while (beat_count < 100) {  // 跳动100次后退出，可改为死循环while(1)
//        // 第一步：缩小的心形（初始状态）
//        scale = 1.0f;
//        system(_WIN32 ? "cls" : "clear");  // 清屏
//        draw_heart(scale);
//        DELAY(150);  // 延迟150ms
//
//        // 第二步：放大的心形（跳动峰值）
//        scale = 1.2f;
//        system(_WIN32 ? "cls" : "clear");
//        draw_heart(scale);
//        DELAY(150);
//
//        beat_count++;
//    }
//
//    return 0;
//}